package com.xhai.service;

import com.xhai.common.domain.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author xhai
 * @since 2025-05-24
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 通过用户名查询用户
     *
     * @param username 用户名
     * @return 用户对象信息
     */
    SysUser selectUserByUsername(String username);

    /**
     * 校验用户名称是否唯一
     *
     * @param user 用户信息
     * @return 校验结果
     */
    boolean checkUserNameUnique(SysUser user);

    /**
     * 校验用户手机号是否唯一
     *
     * @param user 用户信息
     * @return 校验结果
     */
    boolean checkPhoneUnique(SysUser user);

    /**
     * 校验用户秘密啊是否有效
     *
     * @param user 用户信息
     * @return 校验结果
     */
    boolean checkPasswordValid(SysUser user);

    /**
     * 新增用户
     *
     * @param user    用户信息
     * @param deptIds 部门ID列表
     * @param postIds 岗位ID列表
     * @return 新增数量
     */
    int insertUser(SysUser user, List<Long> deptIds, List<Long> postIds);
}
